package com.test.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;

/**
 * @ClasName ActivitiStartInsTance
 * @Descripution TODO 启动流程实例
 * @Author leikw
 * @Date 2021/9/1 15:00
 * @Version V1.0
 */
public class ActivitiStartInsTance {

    /**
     *背后影响的表：
     * act_hi_actinst     已完成的活动信息
     * act_hi_identitylink   参与者信息
     * act_hi_procinst   流程实例
     * act_hi_taskinst   任务实例
     * act_ru_execution   执行表
     * act_ru_identitylink   参与者信息
     * act_ru_task  任务
     */
    public static void main(String[] args) {
        //1.得到ProcessEngine对象
        ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
        //2.得到RuntimeService
        RuntimeService runtimeService = defaultProcessEngine.getRuntimeService();
        //2.创建流程实例
        // 流程定义的key需要知道（myProcess）   每个流程都有一个唯一的key
        ProcessInstance myProcess = runtimeService.startProcessInstanceByKey("myProcess");

        //3.检查流程实例信息
        System.out.println("流程部署id：" + myProcess.getDeploymentId());//部署id：null
        System.out.println("流程定义id：" + myProcess.getProcessDefinitionId());//流程id：2501
        System.out.println("流程实例id：" + myProcess.getId());//流程id：2501
        System.out.println("活动id：" + myProcess.getActivityId());//活动id：null

    }

}
